草庐IT

2022-10-17-读完《代码整洁之道》

类要短小,想短小就得尽量单一职责,或者说因为要单一职责所以短小。“系统应该由许多短小的类而不是少量巨大的类组成”类要高内聚,如果发现一个类有太多的属性,就要思考这些属性之间是否有关联,是否应该拆分到不同的类里使用依赖注入,AOP等改善架构注意边界值,不要让代码在边界处出现异常永远不要有重复代码不要人为耦合。“人为耦合是指两个没有直接目的之间的模块的耦合。其根源是将变量、常量或函数不恰当地放在临时方便的位置。这是种漫不经心的偷懒行为。……不要为了方便随手放置,然后置之不理。”“代码应该放在读者自然而然期待它所在的地方。PI常量应该在出现在声明三角函数的地方。”不要出现魔术数。虽然知道,但有时就是

17、有没有可能两个不相等的对象有相同的hashcode

有没有可能两个不相等的对象有相同的hashcode        有可能.在产生hash冲突时,两个不相等的对象就会有相同的hashcode值.当hash冲突产生时,一般有以下几种方式来处理:1、拉链法:每个哈希表节点都有一个next指针,多个哈希表节点可以用next指针构成一个单向链表,被分配到同一个索引上的多个节点可以用这个单向链表进行存储.2、开放定址法:一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入.3、再哈希:又叫双哈希法,有多个不同的Hash函数.当发生冲突时,使用第二个,第三个….等哈希函数计算地址,直到无冲突.

ElasticSearch+Kibana on K8s 讲解与实战操作(版本7.17.3)

一、概述在 Kubernetes(K8s)上运行 Elasticsearch 是一种在容器化环境中部署和管理 Elasticsearch 集群的常见方法。Elasticsearch 是一款流行的分布式搜索和分析引擎,而 Kubernetes 则提供了一个出色的平台,用于编排容器并管理Elasticsearch的可伸缩性和容错性。以下是在 Kubernetes 上部署 Elasticsearch 的一般步骤:安装Kubernetes集群:确保你已经运行起了Kubernetes集群。你可以使用托管的Kubernetes服务,如GoogleKubernetesEngine(GKE)、AmazonEl

00后回顾自己17年的游戏生涯

第零部分:引言大家好,我是西木,00年出生的00后。“西木”这个名字来自于“西木野”,代表的是兴趣领域的我。因为一个内部与游戏有关的活动,而且还是没有限定主题的泛泛而谈,我稍稍简单回顾了一下自己的游戏经历,发现玩过的游戏都有点数不清了,突然来了一股分享欲想来分享一下自己游戏经历。!!!!WARNING超长图文警告!!!!我是一个非常杂食性的喜欢游戏的人,几乎什么类型都玩,这可能会是一篇非常长的一个帖子,如果大家能够因为我的帖子对一些游戏产生兴趣而去玩游戏,我一定非常开心。首先我来讲讲游戏对我自己来说意味着什么。游戏是我人生的重要组成部分之一,可以说没有游戏就没有现在的我。从游戏中获得乐趣,因为

线性代数的学习和整理17:向量空间的基,自然基,基变换等(未完成)

目录1从颜色说起1.1用简单的枚举→一一映射到某种颜色1.1.1 自然语言里的颜色对应1.1.2举个例子:VB里的colorindex1.1.3接下来的关键问题就是:如何对应更多的颜色,无限穷举么?1.2升级版的颜色映射思路:RGB颜色1.2.1RGB颜色大家都明白原理1.2.2 表达方式1:用一个16*6的矩阵来表示颜色1.2.3 表达方式2:用(red,green,blue)这3个维度组成一个向量来表示颜色1.2.4总结,RGB颜色就是用矩阵的形式来表示颜色了1.2.5 附属知识(1)十六进制(2)颜色的RGB值(3)一些颜色的其他概念1.3从RGB颜色向量组,引出向量空间的基2向量空间的

Cadence Allegro 17.4学习记录开始32-PCB Editor 17.4软件PCB中Mark点,工艺边,阻抗和工艺相关文件

目录CadenceAllegro17.4学习记录开始32-PCBEditor17.4软件PCB中Mark点,工艺边,阻抗文件一、Mark点第一、Mark点介绍第二、添加Mark点的步骤二、工艺边三、阻抗和工艺相关文件CadenceAllegro17.4学习记录开始32-PCBEditor17.4软件PCB中Mark点,工艺边,阻抗文件一、Mark点第一、Mark点介绍对于拼板的PCB板卡来说,每个单板上可以不添加Mark点,Mark点加在工艺边上即可;TOP面跟Bottom面都有贴片元器件的情况下,两面都需要添加Mark点;单板上所添加的Mark点的中心点距离板边的距离尽量保证至少3mm;为了

iOS 17 及 Xcode 15.0 Beta7 问题记录

1、iOS17真机调试问题iOS17之后,真机调试Beta版本必须使用Beta版本的Xcode来调试,用以前复制DeviceSupport方式无法调试,新的Beta版本Xcode中,已经不包含iOS17目录。如下图:解决方案:1)下载最新的Beta版本Xcode152)运行命令defaultswritecom.apple.dt.XcodeDVTEnableCoreDeviceenabled此时旧版本Xcode将会出现一个CoreDevice,这时候就可以继续Debug调试了2、Xcode15Beta版本运行项目报错运行旧版本项目编译报以下错误ShowingAllMessagesAssertio

AssertionError: MMCV==1.3.17 is used but incompatible. Please install mmcv>=1.4.2, <=1.7.0

项目场景:环境: 远程docker解释器:远程docker的conda里的python脚本路径:本地mmclassification-master\tools\train.py参数模型:本地mmclassification-master\\configs\\resnet\\resnet18_8xb32_in1k.py解释器所选目录:本地mmclassification-master\mmclassification-master\tools已设置远程代码同步问题描述用远程解释器跑train.py脚本并加入想要使用的模型路径(resnet18_8xb32_in1k.py),右上角配置各种路径在t

iPhone15 最新爆料消息汇总:A17芯片、8GB内存、全系灵动岛、顶配Ultra、USB-C

iPhone15系列爆料参数汇总如下,图片来源网络: 据外媒DT最新发布的信息显示,与此前曝光的消息基本一致,全新的iPhone15系列将搭载新一代的A17芯片,不出意外的话应该仅有iPhone15Pro/ProMax版本搭载。一、iPhone15、iPhone15Plus消息汇总苹果iPhone15CAD图曝光:采用更大的6.2英寸屏、灵动岛等iPhone15的外观设计与iPhone14相比无太大变化,只有一些小改动,比如正面灵动岛设计,屏幕尺寸略微增加,达到了6.2英寸,底部充电接口换成USB-C。关于USB-C接口,苹果iPhone15系列上的USB-C接口是加了苹果自研芯片MFI认证的